/**
 * API工具函数
 */

/**
 * 等待Apis初始化完成
 * @param timeout 超时时间（毫秒），默认5000ms
 * @param interval 检查间隔（毫秒），默认50ms
 * @returns Promise<boolean> 是否成功初始化
 */
export const waitForApisInitialized = async (
  timeout: number = 5000,
  interval: number = 50
): Promise<boolean> => {
  // 如果Apis已经初始化，直接返回
  if (typeof globalThis.Apis !== 'undefined') {
    return true
  }

  console.log('等待Apis初始化...')
  // 等待Apis初始化完成
  return new Promise<boolean>((resolve) => {
    const checkInterval = setInterval(() => {
      if (typeof globalThis.Apis !== 'undefined') {
        clearInterval(checkInterval)
        resolve(true)
      }
    }, interval) // 每interval ms检查一次

    // 设置超时，防止无限等待
    setTimeout(() => {
      clearInterval(checkInterval)
      console.warn('Apis初始化超时')
      resolve(false)
    }, timeout) // timeout秒超时
  })
}
